package 线程;

import java.util.List;

import org.junit.Test;

import util.ObjectUtil;
import util.ThreadTutil;

public class DuoThreadsTest {
    @Test
    public void test() throws InterruptedException {
        long startTime = System.currentTimeMillis();
        List<Object> rest = ThreadTutil.executeJobs(() -> {
            sleep(3000);//模拟任务处理时间
            System.out.println("执行任务1完成");
            return "1";
        }, () -> {
            sleep(4000);//模拟任务处理时间
            System.out.println("执行任务2完成");
            return "2";
        }, () -> {
            sleep(3000);//模拟任务处理时间
            System.out.println("执行任务3完成");
            return "3";
        }, () -> {
            sleep(4000);//模拟任务处理时间
            System.out.println("执行任务4完成");
            return "4";
        }, () -> {
            sleep(5000);//模拟任务处理时间
            System.out.println("执行任务5完成");
            return "5";
        });
        System.out.println("结果：" + rest + "  总耗时："
                + (System.currentTimeMillis() - startTime));
    }

    public static void sleep(long millis) {
        try {
            Thread.sleep(millis);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
